package com.awccis.driver.dao;

import com.awccis.customer.model.order.OrderBean;
import com.awccis.driver.model.DriverInfo;
import com.awccis.driver.model.order.HistoryOrderBean;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;

/**
 * @Author: 纯牛奶丶
 * @Date: 2018-04-04 13:35
 * @Since: 1.0
 * @Description:
 **/
@Repository
public interface DriverOrderDao {
    /**
     * 查询当前订单
     *
     * @param driverInfo 司机的信息
     * @return 返回当前订单数据
     */
    OrderBean selectCurrentOrder(DriverInfo driverInfo);
    
    /**
     * 添加司机接受订单表的信息
     *
     * @param orderBean 订单信息
     * @return 返回影响行数
     */
    Integer insertReceiveOrderInfo(OrderBean orderBean);
    
    /**
     * 添加司机载客启程时间的信息
     *
     * @param orderBean 订单信息
     * @return 返回影响行数
     */
    Integer insertTravelOnTimeInfo(OrderBean orderBean);
    
    /**
     * 添加司机到达目的地的时间的信息
     *
     * @param orderBean 订单信息
     * @return 返回影响行数
     */
    Integer insertTravelEndTimeInfo(OrderBean orderBean);
    
    /**
     * 添加订单完成的时间的信息
     *
     * @param orderBean 订单信息
     * @return 返回影响行数
     */
    Integer insertOrderFinishInfo(OrderBean orderBean);
    
    /**
     * 查询对应司机的所有订单数
     * @param hashMap driverNickName 司机名称
     * @return 结果数
     */
    Integer selectDriverOrdersCount(HashMap hashMap);
    
    /**
     * 查询历史订单信息
     *
     * @param hashMap 传入值为driverNickName
     * @return 返回订单list
     */
    List<HistoryOrderBean> selectHistoryOrders(HashMap hashMap);
}
